<?php
/*
* @version 2010-11-09
* @author mxrgus.pxrt
*/


class Logger {

    function debug($msg){ 
        // get loglevel
        if($GLOBALS['conf']['logger']['loglevel'] > LOGGER_LOGLEVEL_DEBUG) return false; 
        // log if loglevel ok
        if(!is_string($msg)) $msg   = preg_replace('/\\\\/', ' ', json_encode($msg)); 
        Logger::file_write($GLOBALS['conf']['logger']['debug'], 'DEBUG:   '.$msg."\n"); 
    }
    function info($msg){ 
        // get loglevel
        if($GLOBALS['conf']['logger']['loglevel'] > LOGGER_LOGLEVEL_INFO) return false; 
        // log if loglevel ok
        if(!is_string($msg)) $msg   = preg_replace('/\\\\/', ' ', json_encode($msg)); 
        Logger::file_write($GLOBALS['conf']['logger']['info'], 'INFO: '.$msg."\n"); 
    }
    function warning($msg){ 
        // get loglevel
        if($GLOBALS['conf']['logger']['loglevel'] > LOGGER_LOGLEVEL_WARNING) return false; 
        // log if loglevel ok
        if(!is_string($msg)) $msg   = preg_replace('/\\\\/', ' ', json_encode($msg)); 
        Logger::file_write($GLOBALS['conf']['logger']['warning'], 'WARNING:   '.$msg."\n"); 
    }
    function error($msg){ 
        // get loglevel
        if($GLOBALS['conf']['logger']['loglevel'] > LOGGER_LOGLEVEL_ERROR) return false; 
        // log if loglevel ok
        if(!is_string($msg)) $msg   = preg_replace('/\\\\/', ' ', json_encode($msg)); 
        Logger::file_write($GLOBALS['conf']['logger']['error'], 'ERROR:   '.$msg."\n"); 
    }

    function file_write($file, $msg){
        $f  = fopen($file, 'a+');
        fwrite($f, $msg);
        fclose($f);
    }

}


